﻿package com.amcharts.chartClasses
{
	import com.amcharts.axes.*;
	import com.amcharts.events.*;
	import com.amcharts.geom.*;
	import com.amcharts.utils.*;
	import flash.display.*;
	import flash.events.*;
	import flash.net.*;
	import flash.text.*;
	import flash.utils.*;
	import mx.collections.*;
	import mx.core.*;
	import mx.events.*;
	import mx.formatters.*;
	import mx.styles.*;
	import mx.utils.*;

	public class AmGraph extends UIComponent
	{
		protected var _itemColors:Array;
		protected var _minBulletSize:Number=0;
		protected var _bulletColorNegative:Number;
		protected var _type:String="line";
		protected var _negativeGraph:ExtendedSprite;
		protected var _negativeFills:ExtendedSprite;
		protected var _startDuration:Number;
		protected var _bullet:String;
		protected var _end:Number;
		protected var _seriesIdField:String;
		protected var _urlField:String;
		protected var _bulletsContainer:ExtendedSprite;
		protected var VALID_TYPES:Array;
		protected var _currentDataItem:GraphDataItem;
		protected var _chartDataProvider:ArrayCollection;
		protected var _balloonText:String="[[value]]";
		protected var _labelPosition:String;
		protected var _showBalloonAt:String="close";
		protected var _bulletBorderThickness:Number;
		protected var _lineAlpha:Number=1;
		protected var _graph:ExtendedSprite;
		protected var _lineColor:uint;
		protected var _fills:ExtendedSprite;
		protected var _markerType:String;
		protected var _bulletSizeField:String;
		protected var _columnsArray:Array;
		protected var _columnWidth:Number=0.8;
		protected var _stackable:Boolean=true;
		protected var _positiveMask:Rect;
		protected var _customBulletField:String;
		protected var _fillColors:Array;
		protected var _legendValueText:String;
		protected var _rotate:Boolean;
		protected var _xField:String;
		protected var _negativeBase:Number=0;
		protected var _tweens:Array;
		protected var _timeouts:Array;
		protected var _combineSeries:Boolean;
		protected var _negativeLineColor:Number;
		protected var _categoryField:String;
		protected var _hideBulletsCount:Number;
		protected var _sequencedAnimation:Boolean;
		protected var _maxBulletSize:Number=50;
		protected var _scrollbar:Boolean=false;
		protected var _negativeMask:Rect;
		protected var _showBalloon:Boolean=true;
		protected var _dashLength:uint;
		protected var _chartType:String;
		protected var _yAxis:ValueAxis;
		protected var _descriptionField:String;
		protected var _labelText:String;
		protected var _hidden:Boolean=false;
		protected var _showBulletAt:String="close";
		protected var _startEffect:Function;
		protected var _pointPosition:String="middle";
		protected var _fillsMask:Sprite;
		protected var _chart:AmCoordinateChart;
		protected var _negativeFillAlphas:Array;
		protected var _colorField:String;
		protected var _highField:String;
		protected var _labelsContainer:Sprite;
		protected var _ownColumns:Array;
		protected var _labels:Sprite;
		protected var _yField:String;
		protected var _baseCoord:Number;
		protected var _graphAndFills:Sprite;
		protected var _minCoord:Number;
		protected var _valueAxis:ValueAxis;
		protected var _animationPlayed:Boolean;
		protected var _xAxis:ValueAxis;
		protected var _dy:Number;
		protected var _dx:Number;
		protected var _stackGraph:AmGraph;
		protected var _numberFormatter:NumberFormatter;
		protected var _openField:String;
		protected var _bulletField:String;
		protected var _columnIndex:Number=0;
		protected var _title:String;
		protected var _start:Number;
		protected var _lowField:String;
		protected var _showAllValueLabels:Boolean=false;
		protected var _ignoreOpenValue:Boolean=true;
		protected var _closeField:String;
		protected var _negativeFillColors:Array;
		protected var _dataProvider:IList;
		protected var _fillsForMasking:Sprite;
		protected var _columnCount:Number=1;
		protected var _categoryAxis:CategoryAxis;
		protected var _fillColorsField:String;
		protected var _depthCount:Number=1;
		protected var _valueField:String;
		protected var _bulletBorderAlpha:Number;
		protected var _customBullet:Object;
		protected var _startAlpha:Number;
		protected var _bulletAlpha:Number;
		protected var _includeInMinMax:Boolean=true;
		protected var _bulletBorderColor:Number;
		protected var _bulletColor:Number;
		protected var _maxValue:Number;
		protected var _bulletSize:Number;
		protected var _index:Number;
		protected var _fillAlphas:Array;
		protected var _alphaField:String;
		protected var _fields:Object;
		protected var _lineThickness:uint;
		protected var _visibleInLegend:Boolean=true;
		protected var _negativeGraphAndFills:Sprite;
		protected var _bulletConfigField:String;
		protected var _centerCustomBullets:Boolean;
		static const VERSION:String="1.8.3.1";
		private static var stylesInited:Boolean=initStyles();

		public function AmGraph():void
		{
			VALID_TYPES=["line", "column", "step", "smoothedLine", "candlestick", "ohlc"];
			_chartDataProvider=new ArrayCollection();
			this.includeInLayout=false;
			_fields=new Object();
			return;
		} // end function

		public function get yField():String
		{
			return _yField;
		} // end function

		public function set includeInMinMax(param1:Boolean):void
		{
			_includeInMinMax=param1;
			invalidateChart();
			return;
		} // end function

		public function get valueField():String
		{
			return _valueField;
		} // end function

		protected function createRadarGraph():void
		{
			var _loc_4:Number=NaN;
			var _loc_5:Number=NaN;
			var _loc_8:SerialDataItem=null;
			var _loc_9:GraphDataItem=null;
			var _loc_10:Number=NaN;
			var _loc_11:Number=NaN;
			var _loc_12:Number=NaN;
			var _loc_13:Number=NaN;
			var _loc_14:Number=NaN;
			var _loc_15:Number=NaN;
			var _loc_16:IUITextField=null;
			var _loc_1:*=_valueAxis.stackType;
			var _loc_2:*=new Array();
			var _loc_3:*=new Array();
			var _loc_6:*=_labelPosition;
			var _loc_7:*=_start;
			while (_loc_7 <= _end)
			{

				_loc_8=_chartDataProvider.getItemAt(_loc_7) as SerialDataItem;
				_loc_9=_loc_8.charts[_chart.id].axes[_valueAxis.id].graphs[this.id];
				if (_loc_1 != "none")
				{
				}
				if (_loc_1 == "3d")
				{
					_loc_10=_loc_9.values.value;
				}
				else
				{
					_loc_10=_loc_9.values.close;
				}
				if (isNaN(_loc_10))
				{
					drawLineGraph(_loc_2, _loc_3);
					_loc_2=new Array();
					_loc_3=new Array();
				}
				else
				{
					_loc_11=_valueAxis.getCoordinate(_loc_10) - this.height;
					_loc_12=180 - 360 / (_end - _start + 1) * _loc_7;
					_loc_13=(-_loc_11) * Math.sin(_loc_12 / 180 * Math.PI);
					_loc_14=(-_loc_11) * Math.cos(_loc_12 / 180 * Math.PI);
					_loc_2.push(_loc_13);
					_loc_3.push(_loc_14);
					_loc_15=createBullet(_loc_9, _loc_13, _loc_14, _loc_7);
					if (!_loc_15)
					{
						_loc_15=0;
					}
					if (_labelText)
					{
						_loc_16=createLabel(_loc_9, _loc_6);
						_loc_16.y=_loc_14;
						_loc_16.x=_loc_13;
						positionLabel(_loc_16, _loc_6, _loc_15);
					}
					if (isNaN(_loc_4))
					{
						_loc_4=_loc_13;
					}
					if (isNaN(_loc_5))
					{
						_loc_5=_loc_14;
					}
				}
				_loc_7=_loc_7 + 1;
			}
			_loc_2.push(_loc_4);
			_loc_3.push(_loc_5);
			drawLineGraph(_loc_2, _loc_3);
			launchAnimation();
			return;
		} // end function

		public function set lowField(param1:String):void
		{
			_lowField=param1;
			_fields.low=param1;
			invalidateChart();
			return;
		} // end function

		public function get lowField():String
		{
			return _lowField;
		} // end function

		public function hideBullets():void
		{
			_bulletsContainer.visible=false;
			return;
		} // end function

		public function set yField(param1:String):void
		{
			_yField=param1;
			_fields.y=param1;
			invalidateChart();
			return;
		} // end function

		public function set valueField(param1:String):void
		{
			_valueField=param1;
			_fields.value=param1;
			invalidateChart();
			return;
		} // end function

		public function get minBulletSize():Number
		{
			return _minBulletSize;
		} // end function

		public function set depthCount(param1:Number):void
		{
			_depthCount=param1;
			return;
		} // end function

		public function set showBulletAt(param1:String):void
		{
			_showBulletAt=param1;
			invalidateDisplayList();
			return;
		} // end function

		public function set columnWidth(param1:Number):void
		{
			_columnWidth=param1;
			invalidateDisplayList();
			return;
		} // end function

		public function get visibleInLegend():Boolean
		{
			return _visibleInLegend;
		} // end function

		public function get seriesIdField():String
		{
			return _seriesIdField;
		} // end function

		public function set bulletField(param1:String):void
		{
			_bulletField=param1;
			invalidateChart();
			return;
		} // end function

		public function set minBulletSize(param1:Number):void
		{
			_minBulletSize=param1;
			return;
		} // end function

		public function get xAxis():ValueAxis
		{
			return _xAxis;
		} // end function

		public function get labelText():String
		{
			return _labelText;
		} // end function

		public function get alphaField():String
		{
			return _alphaField;
		} // end function

		public function get showBalloonAt():String
		{
			return _showBalloonAt;
		} // end function

		public function set visibleInLegend(param1:Boolean):void
		{
			_visibleInLegend=param1;
			invalidateChart();
			return;
		} // end function

		public function clean():void
		{
			Utils.removeTweens(_tweens);
			Utils.removeTimeouts(_timeouts);
			Utils.removeChildren(_graph);
			Utils.removeChildren(_fills);
			Utils.removeChildren(_negativeGraph);
			Utils.removeChildren(_negativeFills);
			Utils.removeChildren(_fillsForMasking);
			Utils.removeChildren(_bulletsContainer);
			Utils.removeChildren(_labels);
			return;
		} // end function

		public function set scrollbar(param1:Boolean):void
		{
			_scrollbar=param1;
			return;
		} // end function

		protected function handleAxisEvent(event:Event):void
		{
			invalidateDisplayList();
			return;
		} // end function

		public function set columnIndex(param1:Number):void
		{
			_columnIndex=param1;
			return;
		} // end function

		public function set seriesIdField(param1:String):void
		{
			_seriesIdField=param1;
			invalidateChart();
			return;
		} // end function

		protected function dataChangedHandler(event:CollectionEvent):void
		{
			invalidateChart();
			return;
		} // end function

		public function get descriptionField():String
		{
			return _descriptionField;
		} // end function

		public function get title():String
		{
			return _title;
		} // end function

		protected function createXYGraph():void
		{
			var _loc_5:SerialDataItem=null;
			var _loc_6:GraphDataItem=null;
			var _loc_7:Number=NaN;
			var _loc_8:Number=NaN;
			var _loc_9:Number=NaN;
			var _loc_10:Number=NaN;
			var _loc_11:Number=NaN;
			var _loc_12:Number=NaN;
			var _loc_13:IUITextField=null;
			var _loc_1:*=_labelPosition;
			var _loc_2:*=new Array();
			var _loc_3:*=new Array();
			var _loc_4:*=_start;
			while (_loc_4 <= _end)
			{

				_loc_5=_chartDataProvider.getItemAt(_loc_4) as SerialDataItem;
				_loc_6=_loc_5.charts[_chart.id].axes[_xAxis.id].graphs[this.id];
				_loc_7=_loc_6.values.x;
				_loc_8=_loc_6.values.y;
				_loc_9=_loc_6.values.value;
				_loc_10=_xAxis.getCoordinate(_loc_7);
				_loc_11=_yAxis.getCoordinate(_loc_8);
				if (!isNaN(_loc_7))
				{
				}
				if (!isNaN(_loc_8))
				{
					_loc_2.push(_loc_10);
					_loc_3.push(_loc_11);
					_loc_12=createBullet(_loc_6, _loc_10, _loc_11, _loc_4);
					if (!_loc_12)
					{
						_loc_12=0;
					}
					if (_labelText)
					{
						_loc_13=createLabel(_loc_6, _loc_1);
						_loc_13.y=_loc_11;
						_loc_13.x=_loc_10;
						positionLabel(_loc_13, _loc_1, _loc_12);
					}
				}
				_loc_4=_loc_4 + 1;
			}
			drawLineGraph(_loc_2, _loc_3);
			launchAnimation();
			return;
		} // end function

		public function get itemColors():Array
		{
			return _itemColors;
		} // end function

		public function get bulletConfigField():String
		{
			return _bulletConfigField;
		} // end function

		public function set chartType(param1:String):void
		{
			_chartType=param1;
			return;
		} // end function

		public function set alphaField(param1:String):void
		{
			_alphaField=param1;
			invalidateChart();
			return;
		} // end function

		public function get currentDataItem():GraphDataItem
		{
			return _currentDataItem;
		} // end function

		public function get highField():String
		{
			return _highField;
		} // end function

		public function set labelText(param1:String):void
		{
			_labelText=param1;
			invalidateDisplayList();
			return;
		} // end function

		public function get columnsArray():Array
		{
			return _columnsArray;
		} // end function

		public function set xAxis(param1:ValueAxis):void
		{
			if (_chart)
			{
			}
			if (_xAxis != param1)
			{
				_xAxis=param1;
				invalidateChart();
			}
			if (_xAxis)
			{
				_xAxis.removeEventListener(ValueAxisEvent.AXIS_CHANGED, handleAxisEvent);
			}
			_xAxis=param1;
			_xAxis.addEventListener(ValueAxisEvent.AXIS_CHANGED, handleAxisEvent);
			return;
		} // end function

		public function set showBalloonAt(param1:String):void
		{
			_showBalloonAt=param1;
			invalidateDisplayList();
			return;
		} // end function

		public function get categoryField():String
		{
			return _categoryField;
		} // end function

		public function set type(param1:String):void
		{
			if (VALID_TYPES.indexOf(param1) == -1)
			{
				throw new Error("value chart type is not valid, the type was set as line");
			}
			if (_chart)
			{
			}
			if (_type != param1)
			{
				_type=param1;
				invalidateChart();
			}
			_type=param1;
			invalidateDisplayList();
			return;
		} // end function

		public function get markerType():String
		{
			return _markerType;
		} // end function

		public function get combineSeries():Boolean
		{
			return _combineSeries;
		} // end function

		public function get centerCustomBullets():Boolean
		{
			return _centerCustomBullets;
		} // end function

		public function get negativeBase():Number
		{
			return _negativeBase;
		} // end function

		protected function setAnimationPlayed():void
		{
			_animationPlayed=true;
			return;
		} // end function

		public function get showBalloon():Boolean
		{
			return _showBalloon;
		} // end function

		public function set descriptionField(param1:String):void
		{
			_descriptionField=param1;
			invalidateChart();
			return;
		} // end function

		public function set title(param1:String):void
		{
			_title=param1;
			invalidateChart();
			return;
		} // end function

		public function get fields():Object
		{
			return _fields;
		} // end function

		public function get bulletSizeField():String
		{
			return _bulletSizeField;
		} // end function

		public function set rotate(param1:Boolean):void
		{
			this._rotate=param1;
			return;
		} // end function

		public function get urlField():String
		{
			return _urlField;
		} // end function

		public function get showAllValueLabels():Boolean
		{
			return _showAllValueLabels;
		} // end function

		public function get index():Number
		{
			return _index;
		} // end function

		public function set xField(param1:String):void
		{
			_xField=param1;
			_fields.x=param1;
			invalidateChart();
			return;
		} // end function

		public function set itemColors(param1:Array):void
		{
			_itemColors=param1;
			invalidateChart();
			return;
		} // end function

		public function get openField():String
		{
			return _openField;
		} // end function

		public function get pointPosition():String
		{
			return _pointPosition;
		} // end function

		public function set colorField(param1:String):void
		{
			_colorField=param1;
			invalidateChart();
			return;
		} // end function

		public function get legendValueText():String
		{
			return _legendValueText;
		} // end function

		public function get maxBulletSize():Number
		{
			return _maxBulletSize;
		} // end function

		protected function animate(param1:ExtendedSprite, param2:Number, param3:String,
			param4:Number=0):void
		{
			var _loc_5:*=
				new Tween(param1, param3, _startEffect, param4, param2, _startDuration);
			_tweens.push(_loc_5);
			return;
		} // end function

		public function get dataPointCount():Number
		{
			var _loc_4:SerialDataItem=null;
			var _loc_5:GraphDataItem=null;
			var _loc_1:*=_chartDataProvider.length;
			var _loc_2:Number=0;
			var _loc_3:Number=0;
			while (_loc_3 < _loc_1)
			{

				_loc_4=_chartDataProvider.getItemAt(_loc_3) as SerialDataItem;
				_loc_5=_loc_4.charts[_chart.id].axes[_valueAxis.id].graphs[this.id];
				if (isNaN(_loc_5.values.value))
				{
				}
				if (isNaN(_loc_5.values.open))
				{
				}
				if (!isNaN(_loc_5.values.close))
				{
					_loc_2=_loc_2 + 1;
				}
				_loc_3=_loc_3 + 1;
			}
			return _loc_2;
		} // end function

		protected function drawLineGraph(param1:Array, param2:Array, param3:Array=null,
			param4:Array=null):void
		{
			var _loc_5:Boolean=false;
			var _loc_7:Line=null;
			var _loc_8:Array=null;
			var _loc_9:Array=null;
			var _loc_10:Polygon=null;
			var _loc_11:Array=null;
			var _loc_12:Polygon=null;
			var _loc_13:Polygon=null;
			if (param3)
			{
			}
			if (param4)
			{
				if (param3.length > 0)
				{
				}
				if (param4.length > 0)
				{
					param3.reverse();
					param4.reverse();
					param1=param1.concat(param3);
					param2=param2.concat(param4);
					param1.push(param1[0]);
					param2.push(param2[0]);
					_loc_5=true;
				}
			}
			var _loc_6:*=
				new Line(param1, param2, _lineColor, _lineAlpha, _lineThickness,
				_dashLength);
			_graph.addChild(_loc_6);
			if (!isNaN(_negativeLineColor))
			{
				_loc_7=
					new Line(param1, param2, _negativeLineColor, _lineAlpha,
					_lineThickness, _dashLength);
				_negativeGraph.addChild(_loc_7);
			}
			if (_fillAlphas.length <= 0)
			{
			}
			if (_valueAxis.stackType != "100%")
			{
			}
			if (_valueAxis.stackType == "regular")
			{
				_loc_8=param1.join(";").split(";");
				_loc_9=param2.join(";").split(";");
				if (_chartType == "serial")
				{
				}
				if (!_loc_5)
				{
					if (_rotate)
					{
						_loc_9.push(_loc_9[(_loc_9.length - 1)]);
						_loc_8.push(_baseCoord);
						_loc_9.push(_loc_9[0]);
						_loc_8.push(_baseCoord);
						_loc_9.push(_loc_9[0]);
						_loc_8.push(_loc_8[0]);
					}
					else
					{
						_loc_8.push(_loc_8[(_loc_8.length - 1)]);
						_loc_9.push(_baseCoord);
						_loc_8.push(_loc_8[0]);
						_loc_9.push(_baseCoord);
						_loc_8.push(param1[0]);
						_loc_9.push(_loc_9[0]);
					}
				}
				if (_fillAlphas.length == 1)
				{
					if (_fillAlphas[0] == 0)
					{
						_fillAlphas=[];
					}
				}
				if (_fillAlphas.length > 0)
				{
					_loc_10=new Polygon(_loc_8, _loc_9, _fillColors, _fillAlphas);
					_fills.addChild(_loc_10);
					if (_negativeFillColors)
					{
						_loc_11=_fillAlphas;
						if (_negativeFillAlphas)
						{
							_loc_11=_negativeFillAlphas;
						}
						_loc_12=new Polygon(_loc_8, _loc_9, _negativeFillColors, _loc_11);
						_negativeFills.addChild(_loc_12);
					}
				}
				if (_stackable)
				{
					if (_valueAxis.stackType != "100%")
					{
					}
				}
				if (_valueAxis.stackType == "regular")
				{
					_loc_13=new Polygon(_loc_8, _loc_9, [0], [1], 1, 1, 1);
					_fillsForMasking.addChild(_loc_13);
					_fillsForMasking.visible=false;
				}
			}
			return;
		} // end function

		public function get customBulletField():String
		{
			return _customBulletField;
		} // end function

		public function set maxValue(param1:Number):void
		{
			_maxValue=param1;
			return;
		} // end function

		public function set animationPlayed(param1:Boolean):void
		{
			_animationPlayed=param1;
			return;
		} // end function

		public function set highField(param1:String):void
		{
			_highField=param1;
			_fields.high=param1;
			invalidateChart();
			return;
		} // end function

		public function get showBulletAt():String
		{
			return _showBulletAt;
		} // end function

		public function set bulletConfigField(param1:String):void
		{
			_bulletConfigField=param1;
			invalidateChart();
			return;
		} // end function

		public function set columnCount(param1:Number):void
		{
			_columnCount=param1;
			return;
		} // end function

		public function set currentDataItem(param1:GraphDataItem):void
		{
			_currentDataItem=param1;
			return;
		} // end function

		public function set showBalloon(param1:Boolean):void
		{
			_showBalloon=param1;
			return;
		} // end function

		public function get valueAxis():ValueAxis
		{
			return _valueAxis;
		} // end function

		protected function duplicateImage(param1:Bitmap):Bitmap
		{
			var _loc_2:*=new Bitmap(param1.bitmapData.clone());
			return _loc_2;
		} // end function

		protected function launchAnimation():void
		{
			var _loc_1:Number=NaN;
			if (_startDuration > 0)
			{
			}
			if (!_animationPlayed)
			{
				_graph.alpha=_startAlpha;
				_fills.alpha=_startAlpha;
				_bulletsContainer.alpha=_startAlpha;
				if (_sequencedAnimation)
				{
					_loc_1=setTimeout(animateGraphs, _index * _startDuration * 1000);
					_timeouts.push(_loc_1);
				}
				else
				{
					animateGraphs();
				}
			}
			return;
		} // end function

		public function get bulletField():String
		{
			return _bulletField;
		} // end function

		public function set numberFormatter(param1:NumberFormatter):void
		{
			_numberFormatter=param1;
			return;
		} // end function

		override protected function createChildren():void
		{
			super.createChildren();
			_graphAndFills=new Sprite();
			addChild(_graphAndFills);
			_negativeGraphAndFills=new Sprite();
			addChild(_negativeGraphAndFills);
			_fills=new ExtendedSprite();
			_graphAndFills.addChild(_fills);
			_graph=new ExtendedSprite();
			_graphAndFills.addChild(_graph);
			_negativeFills=new ExtendedSprite();
			_negativeGraphAndFills.addChild(_negativeFills);
			_negativeGraph=new ExtendedSprite();
			_negativeGraphAndFills.addChild(_negativeGraph);
			_positiveMask=new Rect(10, 10, [0], [0]);
			_positiveMask.visible=false;
			addChild(_positiveMask);
			_negativeMask=new Rect(10, 10, [0], [0]);
			_negativeMask.visible=false;
			addChild(_negativeMask);
			_fillsMask=new Sprite();
			addChild(_fillsMask);
			_fillsForMasking=new Sprite();
			addChild(_fillsForMasking);
			_bulletsContainer=new ExtendedSprite();
			addChild(_bulletsContainer);
			_animationPlayed=false;
			if (_chart)
			{
				_labelsContainer=_chart.labelsContainer;
			}
			else
			{
				_labelsContainer=this;
			}
			_labelsContainer.mouseChildren=false;
			_labelsContainer.mouseEnabled=false;
			_labels=new Sprite();
			_labelsContainer.addChild(_labels);
			return;
		} // end function

		public function createUITextField(param1:String=''):IUITextField
		{
			var _loc_2:*=IUITextField(createInFontContext(UITextField));
			var _loc_3:*=determineTextFormatFromStyles();
			_loc_2.multiline=false;
			_loc_2.wordWrap=false;
			_loc_2.selectable=false;
			_loc_2.width=this.width;
			_loc_2.height=0;
			_loc_2.setTextFormat(_loc_3);
			_loc_2.antiAliasType=_loc_3.antiAliasType;
			_loc_2.gridFitType=_loc_3.gridFitType;
			_loc_2.sharpness=_loc_3.sharpness;
			_loc_2.thickness=_loc_3.thickness;
			if (systemManager)
			{
			}
			_loc_2.embedFonts=systemManager.isFontFaceEmbedded(_loc_3);
			if (param1 == "middle")
			{
				_loc_3.align=TextFormatAlign.CENTER;
			}
			else
			{
				_loc_3.align=TextFormatAlign.LEFT;
			}
			_loc_2.defaultTextFormat=_loc_3;
			return _loc_2;
		} // end function

		protected function animateGraphs():void
		{
			var _loc_1:String=null;
			var _loc_2:String=null;
			var _loc_3:Number=NaN;
			animate(_graph, 1, "alpha");
			animate(_fills, 1, "alpha");
			animate(_bulletsContainer, 1, "alpha");
			if (_chartType == "radar")
			{
				animate(_graph, 1, "scaleX", 0);
				animate(_fills, 1, "scaleX", 0);
				animate(_bulletsContainer, 1, "scaleX", 0);
				animate(_graph, 1, "scaleY", 0);
				animate(_fills, 1, "scaleY", 0);
				animate(_bulletsContainer, 1, "scaleY", 0);
			}
			else
			{
				_loc_1=_chart.getStyle("startFrom");
				_loc_2="y";
				_loc_3=-1000;
				if (_loc_1 == "top")
				{
					_loc_3=-this.height;
					if (_rotate)
					{
						_loc_2="x";
					}
					else
					{
						_loc_2="y";
					}
				}
				if (_loc_1 == "bottom")
				{
					_loc_3=this.height;
					if (_rotate)
					{
						_loc_2="x";
					}
					else
					{
						_loc_2="y";
					}
				}
				if (_loc_1 == "left")
				{
					_loc_3=-this.width;
					if (_rotate)
					{
						_loc_2="y";
					}
					else
					{
						_loc_2="x";
					}
				}
				if (_loc_1 == "right")
				{
					_loc_3=this.width;
					if (_rotate)
					{
						_loc_2="y";
					}
					else
					{
						_loc_2="x";
					}
				}
				animate(_graph, 0, _loc_2, _loc_3);
				animate(_fills, 0, _loc_2, _loc_3);
				animate(_bulletsContainer, 0, _loc_2, _loc_3);
			}
			return;
		} // end function

		public function set dy(param1:Number):void
		{
			_dy=param1;
			return;
		} // end function

		public function set combineSeries(param1:Boolean):void
		{
			_combineSeries=param1;
			invalidateChart();
			return;
		} // end function

		protected function createSerialGraph():void
		{
			var _loc_16:Number=NaN;
			var _loc_17:Number=NaN;
			var _loc_18:Number=NaN;
			var _loc_19:Number=NaN;
			var _loc_21:Number=NaN;
			var _loc_26:Number=NaN;
			var _loc_28:SerialDataItem=null;
			var _loc_29:GraphDataItem=null;
			var _loc_30:Number=NaN;
			var _loc_31:Number=NaN;
			var _loc_32:Number=NaN;
			var _loc_33:Number=NaN;
			var _loc_34:Number=NaN;
			var _loc_35:Number=NaN;
			var _loc_36:Number=NaN;
			var _loc_37:Number=NaN;
			var _loc_38:Number=NaN;
			var _loc_39:Number=NaN;
			var _loc_40:Number=NaN;
			var _loc_41:Number=NaN;
			var _loc_42:Number=NaN;
			var _loc_43:Number=NaN;
			var _loc_44:Number=NaN;
			var _loc_45:Number=NaN;
			var _loc_46:Number=NaN;
			var _loc_47:Number=NaN;
			var _loc_48:Number=NaN;
			var _loc_49:Cuboid=null;
			var _loc_50:Array=null;
			var _loc_51:Array=null;
			var _loc_52:Array=null;
			var _loc_53:Array=null;
			var _loc_54:Number=NaN;
			var _loc_55:Array=null;
			var _loc_56:Number=NaN;
			var _loc_57:Number=NaN;
			var _loc_58:String=null;
			var _loc_59:Object=null;
			var _loc_60:Number=NaN;
			var _loc_61:Number=NaN;
			var _loc_62:Number=NaN;
			var _loc_63:Number=NaN;
			var _loc_64:Number=NaN;
			var _loc_65:Line=null;
			var _loc_66:Line=null;
			var _loc_67:Array=null;
			var _loc_68:Array=null;
			var _loc_69:Array=null;
			var _loc_70:Array=null;
			var _loc_71:Line=null;
			var _loc_72:Line=null;
			var _loc_73:Line=null;
			var _loc_74:Number=NaN;
			var _loc_75:IUITextField=null;
			var _loc_76:Number=NaN;
			var _loc_77:Sprite=null;
			var _loc_1:*=_columnWidth;
			_graphAndFills.mask=null;
			_negativeGraphAndFills.mask=null;
			var _loc_2:*=_valueAxis.getCoordinate(_valueAxis.min);
			if (_valueAxis.logarithmic)
			{
				_loc_2=_valueAxis.getCoordinate(_valueAxis.minReal);
			}
			_minCoord=_loc_2;
			if (!_scrollbar)
			{
				if (_type != "line")
				{
				}
				if (_type != "smoothedLine")
				{
				}
			}
			if (_type == "step")
			{
				if (_chartDataProvider.length == 1)
				{
				}
				if (_type != "step")
				{
					_bullet="round";
				}
				if (!_negativeFillColors)
				{
				}
				if (!isNaN(_negativeLineColor))
				{
					_loc_32=_negativeBase;
					if (_loc_32 > _valueAxis.max)
					{
						_loc_32=_valueAxis.max;
					}
					if (_loc_32 < _valueAxis.min)
					{
						_loc_32=_valueAxis.min;
					}
					if (_valueAxis.logarithmic)
					{
						_loc_32=_valueAxis.minReal;
					}
					_loc_33=_valueAxis.getCoordinate(_loc_32);
					_loc_34=_valueAxis.getCoordinate(_valueAxis.max);
					if (_rotate)
					{
						_positiveMask.height=this.height;
						_positiveMask.width=Math.abs(_loc_34 - _loc_33);
						_negativeMask.height=this.height;
						_negativeMask.width=Math.abs(_loc_2 - _loc_33);
						if (_valueAxis.reversed)
						{
							_positiveMask.x=0;
							_negativeMask.x=_loc_33;
						}
						else
						{
							_positiveMask.x=_loc_33;
							_negativeMask.x=0;
						}
					}
					else
					{
						_positiveMask.width=this.width;
						_positiveMask.height=Math.abs(_loc_34 - _loc_33);
						_negativeMask.width=this.width;
						_negativeMask.height=Math.abs(_loc_2 - _loc_33);
						if (_valueAxis.reversed)
						{
							_positiveMask.y=_loc_33;
							_negativeMask.y=_loc_2;
						}
						else
						{
							_positiveMask.y=_loc_34;
							_negativeMask.y=_loc_33;
						}
					}
					_graphAndFills.mask=_positiveMask;
					_negativeGraphAndFills.mask=_negativeMask;
				}
			}
			var _loc_3:*=_chart.getStyle("columnSpacing");
			var _loc_4:*=_categoryAxis.cellWidth;
			var _loc_5:*=_chart.getStyle("maxColumnWidth");
			if (_loc_4 > _loc_5)
			{
				_loc_4=_loc_5;
			}
			var _loc_6:*=(_loc_4 * _loc_1 - _columnCount) / _columnCount;
			if (_loc_3 > _loc_6)
			{
				_loc_3=_loc_6;
			}
			if (_type == "column")
			{
				_loc_1=(_loc_4 * _loc_1 - _loc_3 * (_columnCount - 1)) / _columnCount;
			}
			else
			{
				_loc_1=_loc_4 * _loc_1;
			}
			var _loc_7:*=getStyle("cornerRadiusTop");
			var _loc_8:*=Utils.toCoordinate(_loc_7, _loc_1);
			var _loc_9:*=getStyle("cornerRadiusBottom");
			var _loc_10:*=Utils.toCoordinate(_loc_9, _loc_1);
			var _loc_11:*=getStyle("connect");
			var _loc_12:*=new Array();
			var _loc_13:*=new Array();
			var _loc_14:*=new Array();
			var _loc_15:*=new Array();
			var _loc_20:*=_chart.graphs.length;
			var _loc_22:*=_dx / _depthCount;
			var _loc_23:*=_dy / _depthCount;
			var _loc_24:*=_valueAxis.stackType;
			var _loc_25:*=_labelPosition;
			var _loc_27:*=Math.PI / 2;
			if (getStyle("gradientOrientation") == "horizontal")
			{
				_loc_27=0;
			}
			if (_type != "line")
			{
			}
			if (_type != "step")
			{
			}
			if (_type == "smoothedLine")
			{
				if (_start > 0)
				{
					_loc_31=_start - 1;
					while (_loc_31 > -1)
					{

						_loc_28=_chartDataProvider.getItemAt(_loc_31) as SerialDataItem;
						_loc_29=
							_loc_28.charts[_chart.id].axes[_valueAxis.id].graphs[this.id];
						_loc_30=_loc_29.values.value;
						if (_loc_30)
						{
							_start=_loc_31;
							break;
						}
						_loc_31=_loc_31 - 1;
					}
				}
				if (_end < (_chartDataProvider.length - 1))
				{
					_loc_31=_end + 1;
					while (_loc_31 < _chartDataProvider.length)
					{

						_loc_28=_chartDataProvider.getItemAt(_loc_31) as SerialDataItem;
						_loc_29=
							_loc_28.charts[_chart.id].axes[_valueAxis.id].graphs[this.id];
						_loc_30=_loc_29.values.value;
						if (_loc_30)
						{
							_end=_loc_31;
							break;
						}
						_loc_31=_loc_31 + 1;
					}
				}
			}
			if (_end < (_chartDataProvider.length - 1))
			{
				var _loc_79:*=_end + 1;
				_end=_loc_79;
			}
			_loc_31=_start;
			while (_loc_31 <= _end)
			{

				_loc_28=_chartDataProvider.getItemAt(_loc_31) as SerialDataItem;
				_loc_29=_loc_28.charts[_chart.id].axes[_valueAxis.id].graphs[this.id];
				_loc_50=_fillColors;
				if (!isNaN(_loc_29.color))
				{
					_loc_50=[_loc_29.color];
				}
				if (_loc_29.fillColors)
				{
					_loc_50=_loc_29.fillColors;
				}
				_loc_51=_fillAlphas;
				if (!isNaN(_loc_29.alpha))
				{
					_loc_51=[_loc_29.alpha];
				}
				_loc_59=_loc_29.values;
				if (_valueAxis.recalculateToPercents)
				{
					_loc_59=_loc_29.percents;
				}
				if (_stackable)
				{
				}
				if (_loc_24 != "none")
				{
				}
				if (_loc_24 == "3d")
				{
					_loc_48=_loc_59.value;
				}
				else
				{
					_loc_48=_loc_59.close;
				}
				if (_type != "candlestick")
				{
				}
				if (_type == "ohlc")
				{
					_loc_48=_loc_59.close;
					_loc_63=_loc_59.low;
					_loc_41=_valueAxis.getCoordinate(_loc_63);
					_loc_64=_loc_59.high;
					_loc_43=_valueAxis.getCoordinate(_loc_64);
				}
				_loc_60=_loc_59.open;
				_loc_37=_valueAxis.getCoordinate(_loc_48);
				if (!isNaN(_loc_60))
				{
					_loc_39=_valueAxis.getCoordinate(_loc_60);
				}
				if (!_scrollbar)
				{
					if (_showBalloonAt == "close")
					{
						_loc_29.y=_loc_37;
					}
					if (_showBalloonAt == "open")
					{
						_loc_29.y=_loc_39;
					}
					if (_showBalloonAt == "high")
					{
						_loc_29.y=_loc_43;
					}
					if (_showBalloonAt == "low")
					{
						_loc_29.y=_loc_41;
					}
				}
				_loc_35=_loc_28.x[_categoryAxis.id];
				_loc_61=_loc_4 / 2;
				_loc_62=_loc_4 / 2;
				if (_pointPosition == "start")
				{
					_loc_35=_loc_35 - _loc_4 / 2;
					_loc_61=0;
					_loc_62=_loc_4;
				}
				if (!_scrollbar)
				{
					_loc_29.x=_loc_35;
				}
				if (_rotate)
				{
					_loc_36=_loc_37;
					_loc_38=_loc_39;
					_loc_37=_loc_35;
					_loc_39=_loc_35;
					if (isNaN(_loc_60))
					{
						_loc_38=_baseCoord;
					}
					_loc_40=_loc_41;
					_loc_42=_loc_43;
				}
				else
				{
					_loc_36=_loc_35;
					_loc_38=_loc_35;
					if (isNaN(_loc_60))
					{
						_loc_39=_baseCoord;
					}
				}
				switch (_type)
				{
					case "line":
					{
						if (!isNaN(_loc_48))
						{
							if (_loc_48 < _negativeBase)
							{
								_loc_29.isNegative=true;
							}
							_loc_12.push(_loc_36);
							_loc_13.push(_loc_37);
							_loc_44=_loc_36;
							_loc_45=_loc_37;
							_loc_46=_loc_36;
							_loc_47=_loc_37;
							if (_openField)
							{
							}
							if (!_ignoreOpenValue)
							{
								if (!isNaN(_loc_38))
								{
								}
								if (!isNaN(_loc_39))
								{
									_loc_14.push(_loc_38);
									_loc_15.push(_loc_39);
								}
							}
						}
						else if (!_loc_11)
						{
							drawLineGraph(_loc_12, _loc_13, _loc_14, _loc_15);
							_loc_12=new Array();
							_loc_13=new Array();
							_loc_14=new Array();
							_loc_15=new Array();
						}
						break;
					}
					case "smoothedLine":
					{
						if (!isNaN(_loc_48))
						{
							if (_loc_48 < _negativeBase)
							{
								_loc_29.isNegative=true;
							}
							_loc_12.push(_loc_36);
							_loc_13.push(_loc_37);
							_loc_44=_loc_36;
							_loc_45=_loc_37;
							_loc_46=_loc_36;
							_loc_47=_loc_37;
						}
						else if (!_loc_11)
						{
							drawSmoothedGraph(_loc_12, _loc_13);
							_loc_12=new Array();
							_loc_13=new Array();
						}
						break;
					}
					case "step":
					{
						if (!isNaN(_loc_48))
						{
							if (_loc_48 < _negativeBase)
							{
								_loc_29.isNegative=true;
							}
							if (_rotate)
							{
								if (_loc_16)
								{
								}
								if (_loc_11)
								{
									_loc_12.push(_loc_16);
									_loc_13.push(_loc_37 - _loc_61);
								}
								_loc_13.push(_loc_37 - _loc_61);
								_loc_12.push(_loc_36);
								_loc_13.push(_loc_37 + _loc_62);
								_loc_12.push(_loc_36);
							}
							else
							{
								if (_loc_17)
								{
								}
								if (_loc_11)
								{
									_loc_13.push(_loc_17);
									_loc_12.push(_loc_36 - _loc_61);
								}
								_loc_12.push(_loc_36 - _loc_61);
								_loc_13.push(_loc_37);
								_loc_12.push(_loc_36 + _loc_62);
								_loc_13.push(_loc_37);
							}
							if (_openField)
							{
							}
							if (!_ignoreOpenValue)
							{
								if (!isNaN(_loc_38))
								{
								}
								if (!isNaN(_loc_39))
								{
									if (_rotate)
									{
										if (_loc_18)
										{
										}
										if (_loc_11)
										{
											_loc_14.push(_loc_18);
											_loc_15.push(_loc_39 - _loc_61);
										}
										_loc_15.push(_loc_39 - _loc_61);
										_loc_14.push(_loc_38);
										_loc_15.push(_loc_39 + _loc_62);
										_loc_14.push(_loc_38);
									}
									else
									{
										if (_loc_19)
										{
										}
										if (_loc_11)
										{
											_loc_15.push(_loc_19);
											_loc_14.push(_loc_38 - _loc_61);
										}
										_loc_14.push(_loc_38 - _loc_61);
										_loc_15.push(_loc_39);
										_loc_14.push(_loc_38 + _loc_62);
										_loc_15.push(_loc_39);
										_loc_18=_loc_38;
										_loc_19=_loc_39;
									}
								}
							}
							_loc_16=_loc_36;
							_loc_17=_loc_37;
							_loc_44=_loc_36;
							_loc_45=_loc_37;
							_loc_46=_loc_36;
							_loc_47=_loc_37;
						}
						else if (!_loc_11)
						{
							drawLineGraph(_loc_12, _loc_13);
							_loc_12=new Array();
							_loc_13=new Array();
						}
						break;
					}
					case "column":
					{
						if (!isNaN(_loc_48))
						{
							_loc_52=_loc_50;
							_loc_54=_lineColor;
							if (_loc_48 < _negativeBase)
							{
								_loc_29.isNegative=true;
								if (_negativeFillColors)
								{
									_loc_52=_negativeFillColors;
								}
								if (!isNaN(_negativeLineColor))
								{
									_loc_54=_negativeLineColor;
								}
							}
							if (_rotate)
							{
								_loc_56=Math.abs(_loc_36 - _loc_38);
								if (_loc_36 - _loc_38 >= 0)
								{
									_loc_55=[_loc_10, _loc_8, _loc_10, _loc_8];
								}
								else
								{
									_loc_55=[_loc_8, _loc_10, _loc_8, _loc_10];
								}
								_loc_49=
									new Cuboid(_loc_36 - _loc_38, _loc_1, _loc_22,
									_loc_23, _loc_52, _loc_51, _lineThickness, _loc_54,
									_lineAlpha, _loc_27, _loc_55);
								_loc_49.y=
									_loc_37 - (_columnCount / 2 - _columnIndex) * (_loc_1 + _loc_3) + _loc_3 / 2;
								_loc_49.x=_loc_38;
								_loc_44=_loc_36;
								_loc_45=_loc_49.y + _loc_1 / 2;
								_loc_46=_loc_36;
								_loc_47=_loc_49.y + _loc_1 / 2;
								if (_loc_25 != "bottom")
								{
								}
								if (_loc_25 != "middle")
								{
									_loc_25="right";
									if (_loc_48 < 0)
									{
										_loc_25="left";
									}
									else
									{
										_loc_44=_loc_44 + _dx;
										_loc_45=_loc_45 + _dy;
									}
								}
								else if (_loc_25 == "middle")
								{
									_loc_45=_loc_45 + _dy;
								}
							}
							else
							{
								if (_loc_25 != "middle")
								{
									_loc_25="top";
								}
								_loc_56=Math.abs(_loc_37 - _loc_39);
								if (_loc_37 - _loc_39 <= 0)
								{
									_loc_55=[_loc_8, _loc_8, _loc_10, _loc_10];
								}
								else
								{
									_loc_55=[_loc_10, _loc_10, _loc_8, _loc_8];
								}
								_loc_49=
									new Cuboid(_loc_1, _loc_37 - _loc_39, _loc_22,
									_loc_23, _loc_52, _loc_51, _lineThickness, _loc_54,
									_lineAlpha, _loc_27, _loc_55);
								_loc_49.x=
									_loc_36 - (_columnCount / 2 - _columnIndex) * (_loc_1 + _loc_3) + _loc_3 / 2;
								_loc_49.y=_loc_39;
								_loc_44=_loc_49.x + _loc_1 / 2;
								_loc_45=_loc_37;
								_loc_46=_loc_49.x + _loc_1 / 2;
								_loc_47=_loc_37;
								if (_loc_25 != "middle")
								{
									if (_loc_48 < 0)
									{
										_loc_25="bottom";
									}
									else
									{
										_loc_44=_loc_44 + _dx;
										_loc_45=_loc_45 + _dy;
									}
								}
							}
							if (!_scrollbar)
							{
								if (_loc_24 == "none")
								{
									if (_rotate)
									{
										_loc_21=((_end + 1) - _loc_31) * _loc_20 - _index;
									}
									else
									{
										_loc_21=_loc_20 * _loc_31 + _index;
									}
								}
								if (_loc_24 == "3d")
								{
									_loc_21=(_loc_20 - _index) * (_loc_31 + 1);
									if (_rotate)
									{
										_loc_49.y=_loc_37 - _loc_1 / 2;
										_loc_49.x=_loc_49.x + _loc_22 * _columnIndex;
										_loc_49.y=_loc_49.y + _loc_23 * _columnIndex;
										_loc_45=_loc_49.y + _loc_1 / 2;
										_loc_45=_loc_45 + _loc_23 * _columnIndex;
									}
									else
									{
										_loc_49.x=_loc_36 - _loc_1 / 2;
										_loc_49.x=_loc_49.x + _loc_22 * _columnIndex;
										_loc_49.y=_loc_49.y + _loc_23 * _columnIndex;
										_loc_44=_loc_44 + _loc_22 * _columnIndex;
										_loc_45=_loc_45 + _loc_23 * _columnIndex;
									}
								}
								if (_loc_24 != "regular")
								{
								}
								if (_loc_24 == "100%")
								{
									_loc_25="middle";
									if (_rotate)
									{
										if (_loc_59.value > 0)
										{
											_loc_21=
												((_end + 1) - _loc_31) * _loc_20 + _index;
										}
										else
										{
											_loc_21=
												((_end + 1) - _loc_31) * _loc_20 - _index;
										}
									}
									else if (_loc_59.value > 0)
									{
										_loc_21=_loc_20 * _loc_31 + _index;
									}
									else
									{
										_loc_21=_loc_20 * _loc_31 - _index;
									}
								}
								if (!_scrollbar)
								{
									_loc_49.filters=this.filters;
								}
								_columnsArray.push({column: _loc_49, depth: _loc_21});
							}
							else
							{
								_graph.addChild(_loc_49);
							}
							if (!_scrollbar)
							{
								if (_rotate)
								{
									_loc_29.x=_loc_49.y + _loc_1 / 2;
								}
								else
								{
									_loc_29.x=_loc_49.x + _loc_1 / 2;
								}
								_ownColumns.push(_loc_49);
								if (_startDuration > 0)
								{
								}
								if (!_animationPlayed)
								{
									if (_rotate)
									{
										_loc_49.w=0;
										_loc_58="w";
										_loc_57=_loc_36 - _loc_38;
									}
									else
									{
										_loc_49.h=0;
										_loc_58="h";
										_loc_57=_loc_37 - _loc_39;
									}
									if (_sequencedAnimation)
									{
										_loc_49.alpha=_startAlpha;
										_loc_26=
											setTimeout(animate,
											_startDuration / (_end - _start + 1) * (_loc_31 - _start) * 1000,
											_loc_49, _loc_57, _loc_58);
										_timeouts.push(_loc_26);
										_loc_26=
											setTimeout(animate,
											_startDuration / (_end - _start + 1) * (_loc_31 - _start) * 1000,
											_loc_49, 1, "alpha");
										_timeouts.push(_loc_26);
									}
									else
									{
										animate(_loc_49, _loc_57, _loc_58);
										animate(_loc_49, 1, "alpha");
									}
								}
							}
							_loc_49.addEventListener(MouseEvent.ROLL_OVER,
								handleMouseEvent);
							_loc_49.addEventListener(MouseEvent.ROLL_OUT,
								handleMouseEvent);
							_loc_49.addEventListener(MouseEvent.DOUBLE_CLICK,
								handleMouseEvent);
							_loc_49.addEventListener(MouseEvent.CLICK, handleMouseEvent);
							_loc_49.buttonMode=this.buttonMode;
							_loc_49.useHandCursor=this.useHandCursor;
							_loc_29.columnSprite=_loc_49;
							if (_loc_29.url)
							{
								_loc_49.buttonMode=true;
							}
							_loc_49.index=_loc_31;
						}
						break;
					}
					case "candlestick":
					{
						if (!isNaN(_loc_60))
						{
						}
						if (!isNaN(_loc_64))
						{
						}
						if (!isNaN(_loc_63))
						{
						}
						if (!isNaN(_loc_48))
						{
							_loc_52=_loc_50;
							_loc_54=_lineColor;
							_loc_53=_fillAlphas;
							if (_loc_48 < _loc_60)
							{
								_loc_29.isNegative=true;
								if (_negativeFillColors)
								{
									_loc_52=_negativeFillColors;
								}
								if (_negativeFillAlphas)
								{
									_loc_53=_negativeFillAlphas;
								}
								if (!isNaN(_negativeLineColor))
								{
									_loc_54=_negativeLineColor;
								}
							}
							if (_rotate)
							{
								_loc_56=Math.abs(_loc_36 - _loc_38);
								if (_loc_36 - _loc_38 >= 0)
								{
									_loc_55=[_loc_10, _loc_8, _loc_10, _loc_8];
								}
								else
								{
									_loc_55=[_loc_8, _loc_10, _loc_8, _loc_10];
								}
								if (_loc_48 > _loc_60)
								{
									_loc_67=[_loc_36, _loc_42];
									_loc_68=[_loc_38, _loc_40];
								}
								else
								{
									_loc_67=[_loc_38, _loc_42];
									_loc_68=[_loc_36, _loc_40];
								}
								_loc_65=
									new Line(_loc_67, [_loc_37, _loc_37], _loc_54,
									_lineAlpha, _lineThickness);
								_loc_66=
									new Line(_loc_68, [_loc_37, _loc_37], _loc_54,
									_lineAlpha, _lineThickness);
								_loc_49=
									new Cuboid(_loc_36 - _loc_38, _loc_1, _loc_22,
									_loc_23, _loc_52, _loc_51, _lineThickness, _loc_54,
									_lineAlpha, _loc_27, _loc_55);
								_loc_49.y=_loc_37 - _loc_1 / 2;
								_loc_49.x=_loc_38;
								_loc_47=_loc_37;
								_loc_45=_loc_37;
								if (_showBulletAt == "close")
								{
									_loc_46=_loc_36;
									_loc_44=_loc_36;
								}
								if (_showBulletAt == "open")
								{
									_loc_46=_loc_38;
									_loc_44=_loc_38;
								}
								if (_showBulletAt == "high")
								{
									_loc_46=_loc_42;
									_loc_44=_loc_42;
								}
								if (_showBulletAt == "low")
								{
									_loc_46=_loc_40;
									_loc_44=_loc_40;
								}
							}
							else
							{
								_loc_56=Math.abs(_loc_37 - _loc_39);
								if (_loc_37 - _loc_39 <= 0)
								{
									_loc_55=[_loc_8, _loc_8, _loc_10, _loc_10];
								}
								else
								{
									_loc_55=[_loc_10, _loc_10, _loc_8, _loc_8];
								}
								_loc_49=
									new Cuboid(_loc_1, _loc_37 - _loc_39, _loc_22,
									_loc_23, _loc_52, _loc_53, _lineThickness, _loc_54,
									_lineAlpha, _loc_27, _loc_55);
								_loc_49.x=_loc_36 - _loc_1 / 2;
								_loc_49.y=_loc_39 + _lineThickness / 2;
								if (_loc_48 > _loc_60)
								{
									_loc_69=[_loc_37, _loc_43];
									_loc_70=[_loc_39, _loc_41];
								}
								else
								{
									_loc_69=[_loc_39, _loc_43];
									_loc_70=[_loc_37, _loc_41];
								}
								_loc_65=
									new Line([_loc_36, _loc_36], _loc_69, _loc_54,
									_lineAlpha, _lineThickness);
								_loc_66=
									new Line([_loc_36, _loc_36], _loc_70, _loc_54,
									_lineAlpha, _lineThickness);
								_loc_46=_loc_36;
								_loc_44=_loc_36;
								if (_showBulletAt == "close")
								{
									_loc_47=_loc_37;
									_loc_45=_loc_37;
								}
								if (_showBulletAt == "open")
								{
									_loc_47=_loc_39;
									_loc_45=_loc_39;
								}
								if (_showBulletAt == "high")
								{
									_loc_47=_loc_43;
									_loc_45=_loc_43;
								}
								if (_showBulletAt == "low")
								{
									_loc_47=_loc_41;
									_loc_45=_loc_41;
								}
							}
							_graph.addChild(_loc_49);
							_graph.addChild(_loc_65);
							_graph.addChild(_loc_66);
							if (!_scrollbar)
							{
								if (_rotate)
								{
									_loc_29.x=_loc_49.y + _loc_1 / 2;
								}
								else
								{
									_loc_29.x=_loc_49.x + _loc_1 / 2;
								}
								if (_startDuration > 0)
								{
								}
								if (!_animationPlayed)
								{
									if (_rotate)
									{
										_loc_49.w=0;
										_loc_58="w";
										_loc_57=_loc_36 - _loc_38;
									}
									else
									{
										_loc_49.h=0;
										_loc_58="h";
										_loc_57=_loc_37 - _loc_39;
									}
									if (_sequencedAnimation)
									{
										_loc_49.alpha=_startAlpha;
										_loc_26=
											setTimeout(animate,
											_startDuration / (_end - _start + 1) * _loc_31 * 1000,
											_loc_49, _loc_57, _loc_58);
										_timeouts.push(_loc_26);
										_loc_26=
											setTimeout(animate,
											_startDuration / (_end - _start + 1) * _loc_31 * 1000,
											_loc_49, 1, "alpha");
										_timeouts.push(_loc_26);
									}
									else
									{
										animate(_loc_49, _loc_57, _loc_58);
										animate(_loc_49, 1, "alpha");
									}
								}
							}
							_loc_49.addEventListener(MouseEvent.ROLL_OVER,
								handleMouseEvent);
							_loc_49.addEventListener(MouseEvent.ROLL_OUT,
								handleMouseEvent);
							_loc_49.addEventListener(MouseEvent.CLICK, handleMouseEvent);
							_loc_49.addEventListener(MouseEvent.DOUBLE_CLICK,
								handleMouseEvent);
							_loc_29.columnSprite=_loc_49;
							_loc_49.buttonMode=this.buttonMode;
							_loc_49.useHandCursor=this.useHandCursor;
							if (_loc_29.url)
							{
								_loc_49.buttonMode=true;
							}
							_loc_49.index=_loc_31;
						}
						break;
					}
					case "ohlc":
					{
						if (!isNaN(_loc_60))
						{
						}
						if (!isNaN(_loc_64))
						{
						}
						if (!isNaN(_loc_63))
						{
						}
						if (!isNaN(_loc_48))
						{
							_loc_54=_lineColor;
							if (_loc_48 < _loc_60)
							{
								_loc_29.isNegative=true;
								if (!isNaN(_negativeLineColor))
								{
									_loc_54=_negativeLineColor;
								}
							}
							if (_rotate)
							{
								_loc_72=
									new Line([_loc_38, _loc_38],
									[_loc_37 - _loc_1 / 2, _loc_37], _loc_54, _lineAlpha,
									_lineThickness, _dashLength);
								_loc_71=
									new Line([_loc_40, _loc_42], [_loc_37, _loc_37],
									_loc_54, _lineAlpha, _lineThickness, _dashLength);
								_loc_73=
									new Line([_loc_36, _loc_36],
									[_loc_37, _loc_37 + _loc_1 / 2], _loc_54, _lineAlpha,
									_lineThickness, _dashLength);
							}
							else
							{
								_loc_72=
									new Line([_loc_36 - _loc_1 / 2, _loc_36],
									[_loc_39, _loc_39], _loc_54, _lineAlpha,
									_lineThickness, _dashLength);
								_loc_71=
									new Line([_loc_36, _loc_36], [_loc_41, _loc_43],
									_loc_54, _lineAlpha, _lineThickness, _dashLength);
								_loc_73=
									new Line([_loc_36, _loc_36 + _loc_1 / 2],
									[_loc_37, _loc_37], _loc_54, _lineAlpha,
									_lineThickness, _dashLength);
							}
							_graph.addChild(_loc_72);
							_graph.addChild(_loc_71);
							_graph.addChild(_loc_73);
							_loc_44=_loc_36;
							_loc_45=_loc_37;
							_loc_46=_loc_36;
							_loc_47=_loc_37;
						}
						break;
					}
					default:
					{
						break;
					}
				}
				if (!_scrollbar)
				{
				}
				if (!isNaN(_loc_48))
				{
					if (_end - _start > _hideBulletsCount)
					{
					}
					if (_hideBulletsCount == 0)
					{
						_loc_74=createBullet(_loc_29, _loc_46, _loc_47, _loc_31);
						if (!_loc_74)
						{
							_loc_74=0;
						}
						if (_labelText)
						{
							_loc_75=createLabel(_loc_29, _loc_25);
							_loc_75.x=_loc_44;
							_loc_75.y=_loc_45;
							_labels.addChild(DisplayObject(_loc_75));
							if (_type != "column")
							{
							}
							if (_type == "candlestick")
							{
								if (_rotate)
								{
									if (_loc_25 != "right")
									{
									}
									if (_loc_25 == "bottom")
									{
										_loc_75.width=this.width;
									}
									else
									{
										_loc_75.width=Math.abs(_loc_36 - _loc_38);
									}
								}
								else
								{
									_loc_75.width=_loc_4;
								}
							}
							switch (_loc_25)
							{
								case "left":
								{
									_loc_75.x=
										_loc_75.x - (_loc_75.textWidth + _loc_74 / 2 + 5);
									_loc_75.y=_loc_75.y - (_loc_75.textHeight / 2 + 2);
									break;
								}
								case "top":
								{
									_loc_75.y=
										_loc_75.y - (_loc_75.textHeight + _loc_74 / 2 + 3);
									if (_loc_75.textWidth > _loc_75.width)
									{
										_loc_76=_loc_75.width;
									}
									else
									{
										_loc_76=_loc_75.textWidth;
									}
									_loc_75.x=_loc_75.x - (_loc_76 / 2 + 2);
									break;
								}
								case "right":
								{
									_loc_75.x=_loc_75.x + (_loc_74 / 2 + 2);
									_loc_75.y=_loc_75.y - (_loc_75.textHeight / 2 + 2);
									break;
								}
								case "bottom":
								{
									if (_rotate)
									{
									}
									if (_type == "column")
									{
										_loc_75.y=_loc_75.y - (_loc_75.textHeight / 2 + 2);
										if (_loc_48 < 0)
										{
											_loc_75.x=_loc_38 - _loc_75.textWidth - 7;
										}
										else
										{
											_loc_75.x=_loc_38 + 3;
										}
									}
									else
									{
										_loc_75.y=_loc_75.y + (_loc_74 / 2 + 3);
										if (_loc_75.textWidth > _loc_75.width)
										{
											_loc_76=_loc_75.width;
										}
										else
										{
											_loc_76=_loc_75.textWidth;
										}
										_loc_75.x=_loc_75.x - (_loc_76 / 2 + 2);
									}
									break;
								}
								case "middle":
								{
									if (_rotate)
									{
										_loc_75.x=_loc_38;
										if (_loc_36 < _loc_38)
										{
											_loc_75.x=_loc_36;
										}
										_loc_75.y=
											_loc_75.y - (_loc_75.textHeight / 2 + 1 + _dy);
										if (_loc_75.width < _loc_75.textWidth + 3)
										{
											if (!_showAllValueLabels)
											{
												_loc_75.visible=false;
											}
											else
											{
												_loc_75.width=_loc_75.textWidth + 3;
											}
										}
									}
									else
									{
										_loc_75.y=
											(_loc_37 - _loc_39) / 2 + _loc_39 - _loc_75.textHeight / 2;
										_loc_75.x=_loc_38 - _loc_4 / 2;
										if (Math.abs(_loc_37 - _loc_39) < _loc_75.textHeight)
										{
											if (!_showAllValueLabels)
											{
												_loc_75.visible=false;
											}
											else
											{
												_loc_75.height=_loc_75.textHeight + 3;
											}
										}
									}
									break;
								}
								default:
								{
									break;
								}
							}
						}
					}
				}
				if (_loc_29.filter)
				{
					_loc_77=_loc_29.columnSprite;
					if (_loc_29.columnSprite)
					{
						_loc_77.filters=[_loc_29.filter];
					}
				}
				_loc_31=_loc_31 + 1;
			}
			if (_type != "line")
			{
			}
			if (_type != "step")
			{
			}
			if (_type == "smoothedLine")
			{
				if (_type == "smoothedLine")
				{
					drawSmoothedGraph(_loc_12, _loc_13);
				}
				else
				{
					drawLineGraph(_loc_12, _loc_13, _loc_14, _loc_15);
				}
				if (!_scrollbar)
				{
					launchAnimation();
				}
			}
			dispatchEvent(new Event("ColumnsArrayUpdated"));
			return;
		} // end function

		public function set dx(param1:Number):void
		{
			_dx=param1;
			return;
		} // end function

		public function set ignoreOpenValue(param1:Boolean):void
		{
			_ignoreOpenValue=param1;
			return;
		} // end function

		public function set bulletSizeField(param1:String):void
		{
			_bulletSizeField=param1;
			invalidateChart();
			return;
		} // end function

		public function set markerType(param1:String):void
		{
			_markerType=param1;
			invalidateChart();
			return;
		} // end function

		protected function handleMouseEvent(event:MouseEvent):void
		{
			var serialDataItem:SerialDataItem;
			var dataItem:GraphDataItem;
			var type:String;
			var graphEvent:GraphEvent;
			var url:String;
			var request:URLRequest;
			var event:*=event;
			var extendedSprite:*=event.currentTarget as ExtendedSprite;
			var index:*=extendedSprite.index;
			if (index < _chartDataProvider.length)
			{
				serialDataItem=_chartDataProvider.getItemAt(index) as SerialDataItem;
				if (_chart.chartType == "xy")
				{
					dataItem=
						serialDataItem.charts[_chart.id].axes[_xAxis.id].graphs[this.id];
				}
				else
				{
					dataItem=
						serialDataItem.charts[_chart.id].axes[_valueAxis.id].graphs[this.id];
				}
				type=event.type;
				switch (type)
				{
					case MouseEvent.ROLL_OVER:
					{
						graphEvent=new GraphEvent(GraphEvent.ROLL_OVER_GRAPH_ITEM);
						break;
					}
					case MouseEvent.ROLL_OUT:
					{
						graphEvent=new GraphEvent(GraphEvent.ROLL_OUT_GRAPH_ITEM);
						break;
					}
					case MouseEvent.CLICK:
					{
						url=dataItem.url;
						graphEvent=new GraphEvent(GraphEvent.CLICK_GRAPH_ITEM);
						break;
					}
					case MouseEvent.DOUBLE_CLICK:
					{
						url=dataItem.url;
						graphEvent=new GraphEvent(GraphEvent.DOUBLE_CLICK_GRAPH_ITEM);
						break;
					}
					default:
					{
						break;
					}
				}
				if (url)
				{
					request=new URLRequest(url);
					try
					{
						navigateToURL(request, _chart.urlTarget);
					}
					catch (e:Error)
					{
						trace("Can not get the url: " + url);
					}
				}
				graphEvent.index=index;
				graphEvent.item=dataItem;
				graphEvent.graph=this;
				dispatchEvent(graphEvent);
			}
			return;
		} // end function

		public function set categoryField(param1:String):void
		{
			_categoryField=param1;
			invalidateChart();
			return;
		} // end function

		protected function onBulletLoaded(event:Event):void
		{
			var _loc_2:*=event.currentTarget.content.parent.parent;
			if (_centerCustomBullets)
			{
				_loc_2.x=_loc_2.x - _loc_2.width / 2;
				_loc_2.y=_loc_2.y - _loc_2.height / 2;
			}
			var _loc_3:*=_loc_2.index;
			var _loc_4:*=_chartDataProvider.getItemAt(_loc_3) as SerialDataItem;
			var _loc_5:*=_loc_4.charts[_chart.id].axes[_valueAxis.id].graphs[this.id];
			var _loc_6:*=Loader(event.target.loader);
			var _loc_7:*=new BitmapData(_loc_6.width, _loc_6.height, true, 16777215);
			_loc_7.draw(_loc_6);
			var _loc_8:*=new Bitmap(_loc_7);
			_loc_5.bulletBitmap=duplicateImage(_loc_8);
			return;
		} // end function

		public function set stackGraph(param1:AmGraph):void
		{
			_stackGraph=param1;
			return;
		} // end function

		protected function positionLabel(param1:IUITextField, param2:String,
			param3:Number):void
		{
			switch (param2)
			{
				case "left":
				{
					param1.x=param1.x - (param1.textWidth + param3 / 2 + 5);
					param1.y=param1.y - (param1.textHeight / 2 + 2);
					break;
				}
				case "top":
				{
					param1.y=param1.y - (param1.textHeight + param3 / 2 + 3);
					param1.x=param1.x - (param1.textWidth / 2 + 2);
					break;
				}
				case "right":
				{
					param1.x=param1.x + (param3 / 2 + 2);
					param1.y=param1.y - (param1.textHeight / 2 + 2);
					break;
				}
				case "bottom":
				{
					param1.y=param1.y + (param3 / 2 + 3);
					param1.x=param1.x - (param1.textWidth / 2 + 2);
					break;
				}
				case "middle":
				{
					param1.x=param1.x - param1.width / 2;
					param1.y=param1.y - (param1.textHeight / 2 + 3);
					break;
				}
				default:
				{
					break;
				}
			}
			return;
		} // end function

		public function set negativeBase(param1:Number):void
		{
			_negativeBase=param1;
			return;
		} // end function

		protected function drawSmoothedFill(param1:Array, param2:Array, param3:Number,
			param4:Number):Bezier
		{
			var _loc_5:*=new Bezier(param1, param2, 0, 0, 0, param3, param4);
			if (_rotate)
			{
				_loc_5.graphics.lineTo(_baseCoord, param2[(param2.length - 1)]);
				_loc_5.graphics.lineTo(_baseCoord, param2[0]);
				_loc_5.graphics.lineTo(param1[0], param2[0]);
			}
			else
			{
				_loc_5.graphics.lineTo(param1[(param1.length - 1)], _baseCoord);
				_loc_5.graphics.lineTo(param1[0], _baseCoord);
				_loc_5.graphics.lineTo(param1[0], param2[0]);
			}
			_loc_5.graphics.endFill();
			return _loc_5;
		} // end function

		public function set maxBulletSize(param1:Number):void
		{
			_maxBulletSize=param1;
			return;
		} // end function

		protected function createLabel(param1:GraphDataItem, param2:String):IUITextField
		{
			var _loc_3:*=_numberFormatter;
			if (!_loc_3)
			{
				_loc_3=_chart.numberFormatter;
			}
			var _loc_4:*=createUITextField(param2);
			var _loc_5:*=
				Utils.formatString(_labelText, param1.values, _loc_3,
				_chart.percentFormatter);
			_loc_5=Utils.formatString(_loc_5, param1, _loc_3, _chart.percentFormatter);
			_loc_4.text=_loc_5;
			_loc_4.height=_loc_4.textHeight + 4;
			_labels.addChild(DisplayObject(_loc_4));
			return _loc_4;
		} // end function

		public function set hidden(param1:Boolean):void
		{
			_columnsArray=new Array();
			if (_type == "column")
			{
				dispatchEvent(new Event("ColumnsArrayUpdated"));
			}
			_hidden=param1;
			invalidateChart();
			return;
		} // end function

		public function get type():String
		{
			return _type;
		} // end function

		public function get colorField():String
		{
			return _colorField;
		} // end function

		public function get legendAlpha():Number
		{
			var _loc_2:Array=null;
			var _loc_1:*=this.getStyle("legendAlpha");
			if (isNaN(_loc_1))
			{
				_loc_1=this.getStyle("lineAlpha");
				if (_loc_1 == 0)
				{
					_loc_2=this.getStyle("fillAlphas");
					if (_loc_2)
					{
						if (_loc_2.length > 0)
						{
							_loc_1=_loc_2[0];
						}
					}
				}
			}
			return _loc_1;
		} // end function

		protected function invalidateChart():void
		{
			if (!_scrollbar)
			{
			}
			if (_chart)
			{
				_chart.dataChanged=true;
				_chart.invalidateProperties();
			}
			return;
		} // end function

		public function get legendKeyColor():uint
		{
			var _loc_3:Array=null;
			var _loc_1:*=this.getStyle("legendColor");
			var _loc_2:*=this.getStyle("lineAlpha");
			if (isNaN(_loc_1))
			{
				_loc_1=this.getStyle("lineColor");
				if (_loc_2 == 0)
				{
					_loc_3=this.getStyle("fillColors");
					if (_loc_3)
					{
						if (_loc_3.length > 0)
						{
							_loc_1=_loc_3[0];
						}
					}
				}
			}
			return _loc_1;
		} // end function

		public function set valueAxis(param1:ValueAxis):void
		{
			if (_chart)
			{
			}
			if (_valueAxis != param1)
			{
				_valueAxis=param1;
				invalidateChart();
			}
			if (_valueAxis)
			{
				_valueAxis.removeEventListener(ValueAxisEvent.AXIS_CHANGED,
					handleAxisEvent);
			}
			_valueAxis=param1;
			_valueAxis.addEventListener(ValueAxisEvent.AXIS_CHANGED, handleAxisEvent);
			return;
		} // end function

		public function set yAxis(param1:ValueAxis):void
		{
			if (_chart)
			{
			}
			if (_yAxis != param1)
			{
				_yAxis=param1;
				invalidateChart();
			}
			if (_yAxis)
			{
				_yAxis.removeEventListener(ValueAxisEvent.AXIS_CHANGED, handleAxisEvent);
			}
			_yAxis=param1;
			_yAxis.addEventListener(ValueAxisEvent.AXIS_CHANGED, handleAxisEvent);
			return;
		} // end function

		public function set chartDataProvider(param1:ArrayCollection):void
		{
			_chartDataProvider=param1;
			_animationPlayed=false;
			invalidateDisplayList();
			return;
		} // end function

		public function set categoryAxis(param1:CategoryAxis):void
		{
			_categoryAxis=param1;
			return;
		} // end function

		public function set centerCustomBullets(param1:Boolean):void
		{
			_centerCustomBullets=param1;
			invalidateDisplayList();
			return;
		} // end function

		public function set dataProvider(param1:Object):void
		{
			if (param1)
			{
			}
			if (!(param1 is Array))
			{
			}
			if (!(param1 is IList))
			{
				trace("The dataProvider must be Array, ArrayCollection or IList");
			}
			if (param1 is Array)
			{
				_dataProvider=new ArrayCollection(param1 as Array);
			}
			if (param1 is IList)
			{
				_dataProvider=IList(param1);
			}
			_dataProvider.removeEventListener("collectionChange", dataChangedHandler);
			_dataProvider.addEventListener("collectionChange", dataChangedHandler);
			invalidateChart();
			return;
		} // end function

		public function get numberFormatter():NumberFormatter
		{
			return _numberFormatter;
		} // end function

		public function get xField():String
		{
			return _xField;
		} // end function

		protected function createBullet(param1:GraphDataItem, param2:Number,
			param3:Number, param4:Number):Number
		{
			var _loc_6:Number=NaN;
			var _loc_7:ExtendedSprite=null;
			var _loc_8:Number=NaN;
			var _loc_9:Number=NaN;
			var _loc_10:String=null;
			var _loc_11:Wedge=null;
			var _loc_12:*=undefined;
			var _loc_13:Loader=null;
			var _loc_14:URLRequest=null;
			var _loc_15:Object=null;
			var _loc_5:*=getStyle("bulletOffset");
			_loc_6=_bulletSize;
			if (!isNaN(param1.bulletSize))
			{
				_loc_6=param1.bulletSize;
			}
			if (!isNaN(_maxValue))
			{
				_loc_8=param1.values.value;
				if (!isNaN(_loc_8))
				{
					_loc_6=_loc_8 / _maxValue * _maxBulletSize;
				}
			}
			if (_loc_6 < _minBulletSize)
			{
				_loc_6=_minBulletSize;
			}
			if (_bullet == "none")
			{
			}
			if (!param1.bullet)
			{
			}
			else
			{
				_loc_9=_bulletColor;
				if (param1.isNegative)
				{
				}
				if (!isNaN(_bulletColorNegative))
				{
					_loc_9=_bulletColorNegative;
				}
				if (!isNaN(param1.color))
				{
					_loc_9=param1.color;
				}
				_loc_10=_bullet;
				if (param1.bullet)
				{
					_loc_10=param1.bullet;
				}
				_loc_7=new ExtendedSprite();
				_loc_7.index=param4;
				_loc_7.graphics.lineStyle(_bulletBorderThickness, _bulletBorderColor,
					_bulletBorderAlpha);
				_loc_7.graphics.beginFill(_loc_9, _bulletAlpha);
				switch (_loc_10)
				{
					case "round":
					{
						_loc_7.graphics.drawCircle(0, 0, _loc_6 / 2);
						break;
					}
					case "square":
					{
						_loc_7.graphics.drawRect((-_loc_6) / 2, (-_loc_6) / 2, _loc_6,
							_loc_6);
						break;
					}
					case "triangleUp":
					{
						_loc_7.graphics.moveTo((-_loc_6) / 2, _loc_6 / 2);
						_loc_7.graphics.lineTo(0, (-_loc_6) / 2);
						_loc_7.graphics.lineTo(_loc_6 / 2, _loc_6 / 2);
						_loc_7.graphics.lineTo((-_loc_6) / 2, _loc_6 / 2);
						break;
					}
					case "triangleDown":
					{
						_loc_7.graphics.moveTo((-_loc_6) / 2, (-_loc_6) / 2);
						_loc_7.graphics.lineTo(_loc_6 / 2, (-_loc_6) / 2);
						_loc_7.graphics.lineTo(0, _loc_6 / 2);
						_loc_7.graphics.lineTo((-_loc_6) / 2, (-_loc_6) / 2);
						break;
					}
					case "bubble":
					{
						_loc_11=
							new Wedge(0, 360, _loc_9, _loc_6 / 2, _loc_6 / 2, 0, 1, 0, 0,
							0, 0, "radial", [0, -100]);
						_loc_7.addChild(_loc_11);
						break;
					}
					default:
					{
						break;
					}
				}
				_loc_7.graphics.endFill();
				_loc_7.x=param2;
				_loc_7.y=param3;
				_bulletsContainer.addChild(_loc_7);
				if (param1.url)
				{
					_loc_7.buttonMode=true;
				}
			}
			if (!_customBullet)
			{
			}
			if (param1.customBullet)
			{
				_loc_12=_customBullet;
				if (param1.customBullet)
				{
					_loc_12=param1.customBullet;
				}
				if (_loc_12)
				{
					_loc_7=new ExtendedSprite();
					_loc_7.index=param4;
					if (_loc_12 is String)
					{
						if (!param1.bulletBitmap)
						{
							_loc_13=new Loader();
							_loc_14=new URLRequest(_loc_12);
							_loc_13.contentLoaderInfo.addEventListener(Event.COMPLETE,
								onBulletLoaded);
							_loc_13.load(_loc_14);
							_loc_7.addChild(_loc_13);
						}
						else
						{
							_loc_7.addChild(param1.bulletBitmap);
						}
					}
					else
					{
						_loc_15=new _loc_12;
						if (param1.bulletConfig)
						{
							if (_loc_15.hasOwnProperty("availableSpace"))
							{
								_loc_15.availableSpace=param3;
							}
							if (_loc_15.hasOwnProperty("graph"))
							{
								_loc_15.graph=this;
							}
							param1.bulletConfig.minCoord=_minCoord - param3;
							if (_loc_15.hasOwnProperty("bulletConfig"))
							{
								_loc_15.bulletConfig=param1.bulletConfig;
							}
						}
						_loc_7.addChild(DisplayObject(_loc_15));
					}
					_loc_7.x=param2;
					_loc_7.y=param3;
					if (!isNaN(_maxValue))
					{
						_loc_7.width=_loc_6;
						_loc_7.height=_loc_6;
					}
					if (_centerCustomBullets)
					{
						_loc_7.x=_loc_7.x - _loc_7.width / 2;
						_loc_7.y=_loc_7.y - _loc_7.height / 2;
					}
				}
			}
			if (_loc_7)
			{
				if (_rotate)
				{
					_loc_7.x=_loc_7.x + _loc_5;
				}
				else
				{
					_loc_7.y=_loc_7.y - _loc_5;
				}
				_bulletsContainer.addChild(_loc_7);
				if (param1.url)
				{
					_loc_7.buttonMode=true;
				}
				_loc_7.doubleClickEnabled=true;
				_loc_7.addEventListener(MouseEvent.ROLL_OVER, handleMouseEvent);
				_loc_7.addEventListener(MouseEvent.ROLL_OUT, handleMouseEvent);
				_loc_7.addEventListener(MouseEvent.CLICK, handleMouseEvent);
				_loc_7.addEventListener(MouseEvent.DOUBLE_CLICK, handleMouseEvent);
				param1.bulletSprite=_loc_7;
				if (param1.filter)
				{
					_loc_7.filters=[param1.filter];
				}
			}
			return _loc_6;
		} // end function

		public function get ignoreOpenValue():Boolean
		{
			return _ignoreOpenValue;
		} // end function

		public function set urlField(param1:String):void
		{
			_urlField=param1;
			invalidateChart();
			return;
		} // end function

		public function set legendValueText(param1:String):void
		{
			_legendValueText=param1;
			return;
		} // end function

		protected function drawSmoothedGraph(param1:Array, param2:Array):void
		{
			var _loc_4:Bezier=null;
			var _loc_5:Bezier=null;
			var _loc_6:Number=NaN;
			var _loc_7:Bezier=null;
			var _loc_8:Bezier=null;
			var _loc_3:*=
				new Bezier(param1, param2, _lineColor, _lineAlpha, _lineThickness);
			_graph.addChild(_loc_3);
			if (!isNaN(_negativeLineColor))
			{
				_loc_4=
					new Bezier(param1, param2, _negativeLineColor, _lineAlpha,
					_lineThickness);
				_negativeGraph.addChild(_loc_4);
			}
			if (_fillAlphas.length <= 0)
			{
			}
			if (_valueAxis.stackType != "100%")
			{
			}
			if (_valueAxis.stackType == "regular")
			{
				_loc_5=drawSmoothedFill(param1, param2, _fillColors[0], _fillAlphas[0]);
				_fills.addChild(_loc_5);
				if (_negativeFillColors)
				{
					_loc_6=_fillAlphas[0];
					if (_negativeFillAlphas)
					{
						_loc_6=_negativeFillAlphas[0];
					}
					_loc_7=
						drawSmoothedFill(param1, param2, _negativeFillColors[0], _loc_6);
					_negativeFills.addChild(_loc_7);
				}
				if (_valueAxis.stackType != "100%")
				{
				}
				if (_valueAxis.stackType == "regular")
				{
					_loc_8=drawSmoothedFill(param1, param2, 0, 1);
					_fillsForMasking.addChild(_loc_8);
					_fillsForMasking.visible=false;
				}
			}
			return;
		} // end function

		public function set showAllValueLabels(param1:Boolean):void
		{
			_showAllValueLabels=param1;
			return;
		} // end function

		public function set openField(param1:String):void
		{
			_openField=param1;
			_fields.open=param1;
			invalidateChart();
			return;
		} // end function

		public function set index(param1:Number):void
		{
			_index=param1;
			return;
		} // end function

		public function get hidden():Boolean
		{
			return _hidden;
		} // end function

		public function get stackGraph():AmGraph
		{
			return _stackGraph;
		} // end function

		public function set customBullet(param1):void
		{
			_customBullet=param1;
			invalidateDisplayList();
			return;
		} // end function

		protected function createGraph():void
		{
			var _loc_1:Number=NaN;
			var _loc_2:Number=NaN;
			var _loc_3:Number=NaN;
			var _loc_4:Bitmap=null;
			_ownColumns=new Array();
			_bullet=getStyle("bullet");
			_bulletColor=getStyle("bulletColor");
			_bulletBorderColor=getStyle("bulletBorderColor");
			_bulletBorderThickness=getStyle("bulletBorderThickness");
			_bulletBorderAlpha=getStyle("bulletBorderAlpha");
			_bulletAlpha=getStyle("bulletAlpha");
			_bulletSize=getStyle("bulletSize");
			_hideBulletsCount=getStyle("hideBulletsCount");
			_labelPosition=getStyle("labelPosition");
			_startDuration=_chart.getStyle("startDuration");
			_startEffect=_chart.getStyle("startEffect");
			_startAlpha=_chart.getStyle("startAlpha");
			_sequencedAnimation=_chart.getStyle("sequencedAnimation");
			_dashLength=getStyle("dashLength");
			_lineThickness=getStyle("lineThickness");
			_baseCoord=_valueAxis.baseCoord;
			_lineColor=getStyle("lineColor");
			_negativeLineColor=getStyle("negativeLineColor");
			_lineAlpha=getStyle("lineAlpha");
			_fillColors=getStyle("fillColors");
			_negativeFillColors=getStyle("negativeFillColors");
			_fillAlphas=getStyle("fillAlphas");
			_negativeFillAlphas=getStyle("negativeFillAlphas");
			if (!_fillColors)
			{
				_fillColors=[_lineColor];
			}
			if (!_fillAlphas)
			{
				_fillAlphas=[];
			}
			if (!_bulletColor)
			{
				_bulletColor=_lineColor;
				_bulletColorNegative=_negativeLineColor;
			}
			if (isNaN(_bulletAlpha))
			{
				_bulletAlpha=_lineAlpha;
			}
			if (!_bulletBorderColor)
			{
				_bulletBorderAlpha=0;
			}
			if (!isNaN(valueAxis.min))
			{
			}
			if (!isNaN(valueAxis.max))
			{
				switch (_chartType)
				{
					case "serial":
					{
						createSerialGraph();
						break;
					}
					case "radar":
					{
						createRadarGraph();
						break;
					}
					case "xy":
					{
						createXYGraph();
						break;
					}
					default:
					{
						break;
					}
				}
				if (_type != "line")
				{
				}
				if (_type != "step")
				{
				}
				if (_type == "smoothedLine")
				{
					if (_stackGraph)
					{
						_stackGraph.validateNow();
						this.blendMode=BlendMode.LAYER;
						_fillsMask.blendMode=BlendMode.ERASE;
						Utils.removeChildren(_fillsMask);
						_loc_2=0;
						_loc_3=0;
						if (_chartType == "radar")
						{
							_loc_2=this.width;
							_loc_3=this.height;
						}
						if (_fillAlphas.length > 0)
						{
							_stackGraph.fillsForMasking.visible=true;
							_loc_4=Utils.copySprite(_stackGraph, _loc_2, _loc_3);
							_stackGraph.fillsForMasking.visible=false;
							_fillsMask.addChild(_loc_4);
							if (_chartType == "radar")
							{
								_loc_4.x=-this.width;
								_loc_4.y=-this.width;
							}
						}
					}
				}
				_loc_1=setTimeout(setAnimationPlayed, _startDuration);
				_timeouts.push(_loc_1);
			}
			return;
		} // end function

		public function set chart(param1:AmCoordinateChart):void
		{
			_chart=param1;
			return;
		} // end function

		public function get yAxis():ValueAxis
		{
			return _yAxis;
		} // end function

		override public function styleChanged(param1:String):void
		{
			super.styleChanged(param1);
			if (param1)
			{
				if (ArrayUtil.getItemIndex(param1,
					["legendColor", "legendAlpha", "lineColor", "lineAlpha"]) != -1)
				{
					_chart.updateLegendStyles();
				}
				invalidateDisplayList();
				return;
			}
			return;
		} // end function

		public function set closeField(param1:String):void
		{
			_closeField=param1;
			_fields.close=param1;
			invalidateChart();
			return;
		} // end function

		public function set stackable(param1:Boolean):void
		{
			_stackable=param1;
			invalidateChart();
			return;
		} // end function

		public function set customBulletField(param1:String):void
		{
			_customBulletField=param1;
			invalidateChart();
			return;
		} // end function

		public function set pointPosition(param1:String):void
		{
			_pointPosition=param1;
			invalidateDisplayList();
			return;
		} // end function

		public function set fillColorsField(param1:String):void
		{
			_fillColorsField=param1;
			invalidateChart();
			return;
		} // end function

		public function zoom(param1:Number, param2:Number):void
		{
			_start=param1;
			_end=param2;
			invalidateDisplayList();
			return;
		} // end function

		public function get fillsForMasking():Sprite
		{
			return _fillsForMasking;
		} // end function

		public function get chart():AmCoordinateChart
		{
			return _chart;
		} // end function

		public function get closeField():String
		{
			return _closeField;
		} // end function

		public function get columns():Array
		{
			return _ownColumns;
		} // end function

		public function get dataProvider():Object
		{
			return _dataProvider;
		} // end function

		public function get stackable():Boolean
		{
			return _stackable;
		} // end function

		public function get customBullet()
		{
			return _customBullet;
		} // end function

		public function showBullets():void
		{
			_bulletsContainer.visible=true;
			return;
		} // end function

		public function get fillColorsField():String
		{
			return _fillColorsField;
		} // end function

		public function set balloonText(param1:String):void
		{
			_balloonText=param1;
			invalidateDisplayList();
			return;
		} // end function

		public function destroy():void
		{
			clean();
			if (_labels)
			{
				if (_labels.parent == _labelsContainer)
				{
					_labelsContainer.removeChild(_labels);
				}
			}
			return;
		} // end function

		public function get balloonText():String
		{
			return _balloonText;
		} // end function

		override protected function updateDisplayList(param1:Number, param2:Number):void
		{
			super.updateDisplayList(param1, param2);
			clean();
			if (_chartDataProvider.length > 0)
			{
			}
			if (_valueAxis.axisCreated)
			{
				_tweens=new Array();
				_timeouts=new Array();
				_columnsArray=new Array();
				if (!_hidden)
				{
					createGraph();
				}
			}
			return;
		} // end function

		public function get includeInMinMax():Boolean
		{
			return _includeInMinMax;
		} // end function

		private static function initStyles():Boolean
		{
			var styleDeclaration:*=StyleManager.getStyleDeclaration("AmGraph");
			if (!styleDeclaration)
			{
				styleDeclaration=new CSSStyleDeclaration();
			}
			styleDeclaration.defaultFactory=function():void
			{
				this.lineThickness=0;
				this.dashLength=0;
				this.connect=true;
				this.lineColor=undefined;
				this.balloonColor=undefined;
				this.negativeLineColor=undefined;
				this.lineAlpha=1;
				this.fillColors=undefined;
				this.negativeFillColors=undefined;
				this.fillAlphas=undefined;
				this.negativeFillAlphas=undefined;
				this.bullet="none";
				this.bulletColor=undefined;
				this.bulletBorderColor=undefined;
				this.bulletBorderThickness=2;
				this.bulletBorderAlpha=1;
				this.bulletAlpha=1;
				this.bulletSize=8;
				this.bulletOffset=0;
				this.hideBulletsCount=0;
				this.labelPosition="top";
				this.cornerRadiusTop=0;
				this.cornerRadiusBottom=0;
				this.cursorBulletAlpha=1;
				return;
			} // end function
			;
			StyleManager.setStyleDeclaration("AmGraph", styleDeclaration, false);
			return true;
		} // end function

	}
}
